#ifndef StyleChangeRecord_H
#define StyleChangeRecord_H

#include "FillStyleArray.h"
#include "LineStyleArray.h"

namespace swfstream {
class StyleChangeRecord: public ShapeRecord {
public:
	void print();
	bool StateNewStyles; ///< UB[1] New styles flag. Used by DefineShape2 and DefineShape3 only.
	bool StateLineStyle; ///< UB[1] Line style change flag.
	bool StateFillStyle1; ///< UB[1] Fill style 1 change flag.
	bool StateFillStyle0; ///< UB[1] Fill style 0 change flag.
	bool StateMoveTo; ///< UB[1] Move to flag.
	uint MoveBits; ///< If StateMoveTo, UB[5] Move bit count.
	int MoveDeltaX; ///M If StateMoveTo, SB[MoveBits] Delta X value.
	int MoveDeltaY; ///< If StateMoveTo, SB[MoveBits] Delta Y value.
	uint FillStyle0; ///< If StateFillStyle0, UB[FillBits] Fill 0 Style.
	uint FillStyle1; ///< If StateFillStyle1, UB[FillBits] Fill 1 Style.
	uint LineStyle; ///< If StateLineStyle, UB[LineBits] Line Style.
	FillStyleArray* FillStyles; ///< If StateNewStyles, FILLSTYLEARRAY Array of new fill styles.
	LineStyleArray* LineStyles; ///< If StateNewStyles, LINESTYLEARRAY Array of new line styles.
	uint NumFillBits; ///< If StateNewStyles, UB[4] Number of fill index bits for new styles.
	uint NumLineBits; ///< If StateNewStyles, UB[4] Number of line index bits for new styles.

};
}

#endif
